package com.roy.spring.aop.demo;


import com.roy.spring.aop.core.AopProxyFactory;


/**
 * 测试aop
 */


public class test {

    public static void main(String[] args) {

        // 创建动态代理工厂，这是调用动态代理实现aop的初始点
        AopProxyFactory proxy = new AopProxyFactory();


        // 创建目标对象
        proxy.setTarget(new AopDemo());

        // 设置各个advice，以便在调用目标对象的指定方法时可以出现这些advice
        proxy.addAdvice(new TransactionAspect());

        // 获取代理对象
        IAopDemo p = (IAopDemo) proxy.getProxy();

        // 通过代理对象调用目标对象的指定方法
        p.doSomething();
    }
}
